package controlador;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import vista.VentanaCategoria;
import modelo.*;

public class ControladorVentanaCategoria implements ActionListener {

	private VentanaCategoria ventanaCategoria;
	private CategoriaDAO categoriaDAO = new CategoriaDAO();
	
	public ControladorVentanaCategoria() {
		super();
		this.ventanaCategoria = new VentanaCategoria();
		this.ventanaCategoria.setVisible(true);	
		this.ventanaCategoria.addListener(this);	
	}
	
	private void guardarCategoria(){
		  	try
			{
		    	if(ventanaCategoria.getCodigoCategoria().equals("")|| 
		    			ventanaCategoria.getNombreCategoria().equals("") || 
		    			ventanaCategoria.getDescripcion().equals(""))
		    			ventanaCategoria.mostrarMensaje("Debe llenar todos los datos para poder registrar una categoria");
		    	else
		    	{
		    		String codigo = ventanaCategoria.getCodigoCategoria();
		    		String nombre = ventanaCategoria.getNombreCategoria();
		    		String descripcion = ventanaCategoria.getDescripcion();
		    		int status=1;
		    		Categoria categoria = new Categoria(codigo, nombre, descripcion, status); 
			        categoriaDAO.registrarCategoria(categoria);
			        
			        ventanaCategoria.mostrarMensaje("La Categoria fue registrado con exito");
			        ventanaCategoria.borrarDatos();
		    	}
			}catch(Exception e)
			{
				ventanaCategoria.mostrarMensaje("No se pudo registrar la categoria, verifique que los datos sean correctos");
				ventanaCategoria.borrarDatos();
			}
		}
	
	private void buscarCategoria(){
		if(ventanaCategoria.getCodigoCategoria().equals(""))
			ventanaCategoria.mostrarMensaje("Debe indicar el codigo de la categoria");
		else{
			Categoria categoria = new Categoria();
		
			categoria = categoriaDAO.buscarCategoria2(ventanaCategoria.getCodigoCategoria());
		
			if(categoria != null){
				ventanaCategoria.mostrarMensaje("La categoria ya Existe!!!");
				ventanaCategoria.setCodigoCategoria();
			}
			else
				ventanaCategoria.mostrarMensaje("Puede continuar. La categoria aun no ha sido Registrada");
		}
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		String actionCommand = e.getActionCommand();
		if (actionCommand.equals("Buscar")) {
			buscarCategoria();
		}		
		else if (actionCommand.equals("Guardar")){
			guardarCategoria();
		}
		else if (actionCommand.equals("Cancelar")) {
			ventanaCategoria.borrarDatos();
		}
		else if (actionCommand.equals("Salir")){
			this.ventanaCategoria.setVisible(false);
		}
	}
	
}